/*
	Die Middleware bindet das jeweilige Device an und kuemmert sich um die Steuerung.
	Das vereinfacht die Schnittstelle zur Applikation.
*/

#include <irrlicht.h>
#include <Controller.h>

typedef struct ControllerParams{	//ein paar Werte, die die Steuerung von der App braucht
	int max_x;	//maximale Cursor-Koordinate auf dem Bildschirm (=x_res)
	int max_y;
	float max_world_x;	//maximale Objekt-Koordinate in der Welt (damit es nicht vom Spielfeld faellt)
	float max_world_z;
	float cursorStep;
	float moveStep;
	float camStep;
	float rotateStep;
	float cameraMax;
	float cameraMin;
	irr::IrrlichtDevice* device;
	irr::video::IVideoDriver* driver;
	irr::scene::ISceneManager* smgr;
	irr::gui::ICursorControl* cursor;
	irr::scene::ISceneNode* objects[10];
} ControllerParams;

int initMiddleware(ControllerParams *params);

int releaseMiddleware();